1
Projeto Estrutural: Criando um Grep com Rust
AI034Lesson 12
00:00

No mundo do Rust, uma ferramenta CLI robusta não é apenas um único script; é cuidadosamente planejada Projeto Estrutural. Para criar uma ferramenta como grep, dividimos nosso trabalho entre um Crate Binário e um Crate de Biblioteca.

1. A Metáfora da Máquina de Café

Pense em uma máquina de café de alta gama. O lib.rs contém os mecanismos internos para aquecer água e moer grãos — a "lógica do motor". O main.rs é o botão externo que o usuário pressiona — a "interface". Mantendo-os separados, um técnico pode testar o aquecedor (biblioteca) sem precisar pressionar o botão físico (binário) a cada vez.

2. Estruturando o Motor

Começamos com $ cargo new minigrep. Embora isso crie um main.rs, devemos introduzir manualmente src/lib.rs. Essa divisão arquitetônica garante que nossa lógica central de busca permaneça desacoplada do processamento de CLI, permitindo testes mais fáceis e modularidade.

Crate Bináriosrc/main.rs(A "Ligação")Crate de Bibliotecasrc/lib.rs(O "Motor")Chama Lógica

3. Modularidade Testável

Ao mover a lógica para lib.rs, utilizamos o framework de teste do Rust para chamar funções da biblioteca em um ambiente controlado. Usamos use minigrep; no nosso binário para importar o motor, mantendo a lógica de análise de linha de comando isolada.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>